from typing import Any
from typing import TextIO

from nbformat.notebooknode import NotebookNode

def rejoin_lines(nb: NotebookNode) -> Any: ...
def split_lines(nb: NotebookNode) -> Any: ...
def strip_transient(nb: NotebookNode) -> Any: ...

class NotebookReader:
    def reads(self, s: str, **kwargs: Any) -> NotebookNode: ...
    def read(self, fp: TextIO, **kwargs: Any) -> NotebookNode: ...

class NotebookWriter:
    def writes(self, nb: NotebookNode, **kwargs: Any) -> None: ...
    def write(self, nb: NotebookNode, fp: TextIO, **kwargs: Any) -> None: ...
